package cn.south.campus.business.model.vo;

import cn.south.campus.business.model.entity.PartTimeJobApply;
import cn.south.campus.common.file.service.ImgJsonSerializer;
import cn.south.campus.common.model.vo.BaseVO;
import cn.south.campus.common.utils.DateUtil;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 *
 * </p>
 *
 * @author chow
 * @since 2025/3/27 14:41
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class PartTimeJobApplyVo extends BaseVO {
    /**
     * 兼职id
     */
    private Long jobId;

    /**
     * 学生id
     */
    private Long userId;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 用户头像
     */
    @JsonSerialize(using = ImgJsonSerializer.class)
    private String userAvatar;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 状态,0待审核，1审核通过，2审核拒绝
     */
    private Integer status;

    /**
     * 申请时间
     */
    private String applyTime;


    public static PartTimeJobApplyVo convert(PartTimeJobApply partTimeJobApply) {
        PartTimeJobApplyVo partTimeJobApplyVo = new PartTimeJobApplyVo();
        partTimeJobApplyVo.setId(partTimeJobApply.getId());
        partTimeJobApplyVo.setJobId(partTimeJobApply.getJobId());
        partTimeJobApplyVo.setUserId(partTimeJobApply.getUserId());
        partTimeJobApplyVo.setNickname(partTimeJobApply.getNickname());
        partTimeJobApplyVo.setUserAvatar(partTimeJobApply.getUserAvatar());
        partTimeJobApplyVo.setPhone(partTimeJobApply.getPhone());
        partTimeJobApplyVo.setStatus(partTimeJobApply.getStatus());
        partTimeJobApplyVo.setApplyTime(DateUtil.format(partTimeJobApply.getApplyTime()));
        return partTimeJobApplyVo;
    }
}
